// File: myBigPro12/src/services/simulationService.js
// Action: Replace

import api from './api';

const simulationService = {
  /**
   * 开启虚拟学生教学模拟
   * @param {string} roomName - 房间名
   * @param {string} lessonContext - 课堂主题
   * @returns {Promise<any>}
   */
  async startSimulation(roomName, lessonContext) {
    try {
      const response = await api.post('/api/simulations/start', { roomName, lessonContext });
      return response.data;
    } catch (error) {
      // 提取后端或网络错误信息并向上抛出
      const errorMessage = error.response?.data?.message || error.message || '启动模拟失败';
      throw new Error(errorMessage);
    }
  },

  /**
   * 停止模拟
   * @returns {Promise<any>}
   */
  async stopSimulation() {
    try {
      const response = await api.post('/api/simulations/stop');
      return response.data;
    } catch (error) {
       // 在停止操作时，即使后端出错或网络中断，前端也应认为操作已完成，所以不抛出错误，静默处理
       console.warn('停止模拟时发生错误，已静默处理:', error);
    }
  },
   /**
   * 【新方法】发送教师的语音转录文本到后端
   * @param {string} roomName - 房间名
   * @param {string} transcript - 识别出的文本
   */
   async sendTeacherSpeech(roomName, transcript) {
    try {
      // 这是一个"即发即忘"的请求，我们不关心其返回值
      await api.post('/api/simulations/teacher-speech', { roomName, transcript });
    } catch (error) {
      console.error("发送转录文本失败:", error);
    }
  },
};

// 【核心修正】使用 export default 导出整个 service 对象
export default simulationService;